package com.xdf.xzymanagementsystem.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Tolerate;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 由 chanchaw 创建于 2025-3-21 18:43:41，实现功能如下：
 * 1. 实现接口 Serializable
 * 2. 无参构造函数
 * 3. 建造者模式
 * 4. getter,setter,toString()
 * 单据,主表,订单
 */
@Data
@Builder
@Table("half_main")
public class HalfMainDTO implements Serializable {
    @Tolerate
    public HalfMainDTO() {}

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

    @Id(keyType = KeyType.Auto)
    private Integer id;//自增主键
    private java.util.Date billDate;//订单日期/单据日期，表示业务发生的日期，默认填充当天，用户可修改
    private String billCode;//单据编号
    private String billType;//客户主键=jc_contactcompany.id
    private String orderNo;//结算户
    private String businessSource;//合同号
    private String businessTarget;//订单号
    private String driver;//交期
    private String plateNo;//1表示开票，0不开票
    private BigDecimal settlQty;//业务员=员工主键=jc_employee.id
    private BigDecimal shipFee;//订单类别=jc_simple.category=订单类别
    private String shipPay;//币种编号=currency_type.id=币种编号
    private String shipType;//订单工艺=jc_simple.category=订单工艺
    private Float seq;//生产进度：坯布、前处理、染色、后处理、成品、已完成
    private Integer state;//排序序号
    private Integer isDelete;//状态，默认1有效，0作废，2已审核，3已驳回
    private String remark;//删除标识，默认0未删除，1表示删除。mybatis-flex默认使用该名称作为逻辑删除的标识
    private String craftRemark;//备注
    private String sysRemark;//系统备注，系统在做自动化操作时用于说明业务逻辑
    private java.util.Date createTime;//创建时间
    private String createUser;//创建人
    private java.util.Date updateTime;//最后一次修改时间
    private String updateUser;//最后一次修改人
    private List<HalfDetail> detailList;//明细
}
